namespace GGEditor.API
{
	public interface IPluginContext
	{
		/// <summary>
		/// Get an object in the plugin tree. Returns null on failure.
		/// </summary>
		object GetObject(string path);

		/// <summary>
		/// Get an object in the plugin tree. Returns null on failure.
		/// </summary>
		T GetObject<T>(string path) where T : class;

		/// <summary>
		/// Retrieve and run a command given its command path.
		/// </summary>
		void DoCommand(string cmdPath);
	}
}